home *** CD-ROM | disk | FTP | other *** search
/ Computer Arts: Pro Software Skills - Photoshop / Computer Arts Pro Software Skills Photoshop.iso / pc / CA.app / Contents / Resources / rdata8.dat / scripts / frame_1 / DoAction.as
Encoding:
Text File  |  2010-03-03  |  35.8 KB  |  1,212 lines

  1. "scriptLimits recursion 2000 timeout 65535";
  2. if(!_global.mdm)
  3. {
  4.    _global.mdminit = function()
  5.    {
  6.       var _loc4_ = mdm.initppsv(mdm.SYNC);
  7.       _loc4_ = _loc4_.split("&");
  8.       var _loc3_ = 0;
  9.       while(_loc3_ < _loc4_.length)
  10.       {
  11.          _loc4_[_loc3_] = _loc4_[_loc3_].split("=");
  12.          _global[_loc4_[_loc3_][0]] = _root[_loc4_[_loc3_][0]] = unescape(_loc4_[_loc3_][1]).split("\\\\").join("\\");
  13.          _loc3_ = _loc3_ + 1;
  14.       }
  15.    };
  16.    _global.mdm = function(parent, objectName)
  17.    {
  18.       this.__parent = parent;
  19.       this.__object = objectName;
  20.       this.__isInstance = false;
  21.       ASSetPropFlags(this,null,1);
  22.    };
  23.    mdm.__object = "mdm";
  24.    mdm.__global = _global;
  25.    mdm.__OS = System.capabilities.os.substring(0,3);
  26.    mdm.ASYNC = {async:true};
  27.    mdm.SYNC = {async:false};
  28.    mdm.formid = "!}id}!";
  29.    mdm.__initcmd = function()
  30.    {
  31.       if(mdm.__OS != "Win")
  32.       {
  33.          initSO("xppres");
  34.          initSO("xppcmd");
  35.       }
  36.       mdm.__cmdcounter = 0;
  37.    };
  38.    mdm.__sendcmd = function(cmddata)
  39.    {
  40.       switch(mdm.__OS)
  41.       {
  42.          case "Win":
  43.             var _loc8_ = "HN1DI06";
  44.             var _loc3_ = "s000000000000";
  45.             var _loc0_ = null;
  46.             mdm.__cmdcounter = _loc0_ = mdm.__cmdcounter + 1;
  47.             var _loc6_ = cmddata + _loc0_;
  48.             var _loc2_ = 64000;
  49.             var _loc9_ = "";
  50.             var _loc5_ = Math.round(length(_loc6_) / _loc2_) + 1;
  51.             var _loc4_ = SharedObject.getLocal(_loc8_,"/",false);
  52.             _loc4_.data[_loc3_] = String(_loc5_);
  53.             is = 1;
  54.             while(is <= _loc5_)
  55.             {
  56.                var _loc1_ = is.toString();
  57.                while(_loc1_.length < 3)
  58.                {
  59.                   _loc1_ = "0" + _loc1_;
  60.                }
  61.                _loc3_ = "s" + _loc1_ + "000000000";
  62.                _loc4_.data[_loc3_] = String(_loc6_.substr((is - 1) * _loc2_,_loc2_));
  63.                is++;
  64.             }
  65.             mdm.__cmdcounter = _loc0_ = mdm.__cmdcounter + 1;
  66.             _loc4_.data[_loc3_] = cmddata + _loc0_;
  67.             _loc4_.flush();
  68.             break;
  69.          case "Mac":
  70.             _loc8_ = "xppcmd";
  71.             _loc3_ = "s000000000000";
  72.             mdm.__cmdcounter = _loc0_ = mdm.__cmdcounter + 1;
  73.             _loc6_ = cmddata + _loc0_;
  74.             _loc2_ = 64000;
  75.             _loc9_ = "";
  76.             _loc5_ = Math.round(length(_loc6_) / _loc2_) + 1;
  77.             _loc4_ = SharedObject.getLocal(_loc8_,"/",false);
  78.             _loc4_.data[_loc3_] = String(_loc5_);
  79.             is = 1;
  80.             while(is <= _loc5_)
  81.             {
  82.                _loc1_ = is.toString();
  83.                while(_loc1_.length < 3)
  84.                {
  85.                   _loc1_ = "0" + _loc1_;
  86.                }
  87.                _loc3_ = "s" + _loc1_ + "000000000";
  88.                _loc4_.data[_loc3_] = String(_loc6_.substr((is - 1) * _loc2_,_loc2_));
  89.                is++;
  90.             }
  91.             _loc4_.flush();
  92.       }
  93.    };
  94.    mdm.__retcmd = function()
  95.    {
  96.       switch(mdm.__OS)
  97.       {
  98.          case "Win":
  99.             var _loc7_ = "HN1DI02";
  100.             var _loc3_ = "s000000000000";
  101.             var _loc8_ = 0;
  102.             var _loc2_ = "";
  103.             var _loc4_ = SharedObject.getLocal(_loc7_ + mdm.__cmdcounter,"/",false);
  104.             var _loc5_ = Number(_loc4_.data[_loc3_]) + 1;
  105.             is = 1;
  106.             while(is < _loc5_)
  107.             {
  108.                var _loc1_ = is.toString();
  109.                while(_loc1_.length < 3)
  110.                {
  111.                   _loc1_ = "0" + _loc1_;
  112.                }
  113.                _loc3_ = "s" + _loc1_ + "000000000";
  114.                _loc2_ += _loc4_.data[_loc3_];
  115.                is++;
  116.             }
  117.             var _loc6_ = _loc2_;
  118.             false;
  119.             break;
  120.          case "Mac":
  121.             _loc7_ = "xppres";
  122.             _loc3_ = "s000000000000";
  123.             _loc8_ = 0;
  124.             _loc2_ = "";
  125.             _loc4_ = SharedObject.getLocal(_loc7_ + mdm.__cmdcounter,"/",false);
  126.             _loc5_ = Number(_loc4_.data[_loc3_]) + 1;
  127.             is = 1;
  128.             while(is < _loc5_)
  129.             {
  130.                _loc1_ = is.toString();
  131.                while(_loc1_.length < 3)
  132.                {
  133.                   _loc1_ = "0" + _loc1_;
  134.                }
  135.                _loc3_ = "s" + _loc1_ + "000000000";
  136.                _loc2_ += _loc4_.data[_loc3_];
  137.                is++;
  138.             }
  139.             _loc6_ = _loc2_;
  140.             false;
  141.       }
  142.       if(mdm.__OS == "Win")
  143.       {
  144.          _loc4_.clear();
  145.       }
  146.       return _loc6_;
  147.    };
  148.    if(System.capabilities.os.substring(0,3) == "Mac")
  149.    {
  150.       mdm.__server = new XMLSocket();
  151.       mdm.__server.onData = function(data)
  152.       {
  153.          data = data.split("!}}^{}!");
  154.          set(data[0],data[1]);
  155.       };
  156.       mdm.__server.onConnect = function(success)
  157.       {
  158.          if(success)
  159.          {
  160.             mdm.__server.status = "Connected!";
  161.             mdm.__finalInit();
  162.          }
  163.          else
  164.          {
  165.             mdm.__server.status = "Error connecting";
  166.          }
  167.       };
  168.       mdm.__server.onClose = function()
  169.       {
  170.          mdm.__server.status = "Disconnected";
  171.       };
  172.       mdm.__port = "12345!formmport!63281";
  173.       mdm.__server.connect("127.0.0.1",mdm.__port.split("!formmport!")[1]);
  174.       delete mdm.__port;
  175.    }
  176.    mdm.addProperty("__callFunction",function()
  177.    {
  178.       return undefined;
  179.    }
  180.    ,function(c)
  181.    {
  182.       c = c.split("!}}v{}!");
  183.       var f = c.shift();
  184.       var p;
  185.       var o;
  186.       if((p = f.lastIndexOf(".")) == -1)
  187.       {
  188.          if(_root[f] && typeof _root[f] == "function")
  189.          {
  190.             f = "_root." + f;
  191.             p = 5;
  192.          }
  193.          else if(_global[f] && typeof _global[f] == "function")
  194.          {
  195.             f = "_global." + f;
  196.             p = 7;
  197.          }
  198.       }
  199.       o = eval(f.substring(0,p));
  200.       eval(f).apply(o,c);
  201.    }
  202.    );
  203.    mdm.__resolve = function(m)
  204.    {
  205.       if(!_root.mdm)
  206.       {
  207.          _root.mdm = _global.mdm;
  208.       }
  209.       m = this.__object + "." + m;
  210.       return function()
  211.       {
  212.          var a = arguments;
  213.          var l = a.length;
  214.          var dlm = function(strData, strToken)
  215.          {
  216.             return strData + "!}}^" + strToken + "^{}!";
  217.          };
  218.          var esc = function(a)
  219.          {
  220.             var _loc1_ = 0;
  221.             while(_loc1_ < a.length)
  222.             {
  223.                if(typeof a[_loc1_] == "string")
  224.                {
  225.                   a[_loc1_] = a[_loc1_].split(",").join("@co@").split("\"").join("@dq@").split("&").join("@amp@");
  226.                }
  227.                _loc1_ = _loc1_ + 1;
  228.             }
  229.             return a;
  230.          };
  231.          var isAPI = m.lastIndexOf(".") != 3;
  232.          if(!l && isAPI || l && (isAPI && a[l - 1] !== mdm.ASYNC || !isAPI && a[l - 1] === mdm.SYNC))
  233.          {
  234.             if(a[l - 1] === mdm.SYNC)
  235.             {
  236.                a.pop();
  237.             }
  238.             if(mdm.__OS == "Win" && l)
  239.             {
  240.                a = esc(a);
  241.             }
  242.             switch(mdm.__OS)
  243.             {
  244.                case "Win":
  245.                   var unique = "";
  246.                   var params = !l ? "" : "<{zinc}>" + ("\"" + a.join("\",\"") + "\"");
  247.                   break;
  248.                case "Mac":
  249.                   var unique = new Date().getTime() + "<{zinc}>";
  250.                   var params = !l ? "" : "<{zinc}>" + a.join("<{zincp}>");
  251.             }
  252.             if(mdm.__hasEI)
  253.             {
  254.                var returnval = flash.external.ExternalInterface.call(m,mdm.formid,params);
  255.                if(m == "mdm.Application.createForm")
  256.                {
  257.                   mdm.Forms[a[0]];
  258.                }
  259.                return !isAPI ? returnval : mdm.__deserialize(returnval);
  260.             }
  261.          }
  262.          else
  263.          {
  264.             if(a[l - 1] === mdm.ASYNC)
  265.             {
  266.                a.pop();
  267.             }
  268.             var cbEnabled = false;
  269.             if(typeof a[l - 1] == "function")
  270.             {
  271.                var o = 1;
  272.                var n = false;
  273.                var x = ASSetPropFlags;
  274.                var cbEnabled = true;
  275.                switch(m.split(".")[1].toLowerCase())
  276.                {
  277.                   case "saveutf8":
  278.                   case "binaryfile_setdata":
  279.                      fscommand(m,a[0]);
  280.                      return undefined;
  281.                   case "swf_getheader":
  282.                      n = 5;
  283.                      break;
  284.                   case "getfileattribs":
  285.                      n = 4;
  286.                      break;
  287.                   case "getresolution":
  288.                      n = 3;
  289.                      break;
  290.                   case "getsize":
  291.                   case "getposition":
  292.                   case "getjpgsize":
  293.                   case "getmouseposition":
  294.                      n = 2;
  295.                }
  296.                if(n)
  297.                {
  298.                   var c = a.pop();
  299.                   var arr = [];
  300.                   var i = 1;
  301.                   while(i < n)
  302.                   {
  303.                      arr.push("_root.mdm.__tmpV" + i);
  304.                      i++;
  305.                   }
  306.                   var fncCB = function(v)
  307.                   {
  308.                      arr.push(v);
  309.                      var i = 0;
  310.                      while(i < n - 1)
  311.                      {
  312.                         arr[i] = eval(arr[i]);
  313.                         i++;
  314.                      }
  315.                      c.apply(null,arr);
  316.                      i = 0;
  317.                      while(i < n - 1)
  318.                      {
  319.                         delete arr[i];
  320.                         i++;
  321.                      }
  322.                   };
  323.                   a = a.concat(arr,fncCB);
  324.                   delete n;
  325.                }
  326.                var _loc0_ = null;
  327.                this.__lastFS = _loc0_ = !!isNaN(this.__lastFS) ? 0 : (this.__lastFS = _loc0_ = this.__lastFS + 1, _loc0_);
  328.                var t = "__tmp" + _loc0_;
  329.                var f = a.splice(a.length - o,1,"_root.mdm." + t)[0];
  330.                this.addProperty(t,function()
  331.                {
  332.                   return undefined;
  333.                }
  334.                ,function(v)
  335.                {
  336.                   if(!this.__lastFS--)
  337.                   {
  338.                      delete this.__lastFS;
  339.                   }
  340.                   f(v);
  341.                }
  342.                );
  343.             }
  344.             switch(mdm.__OS)
  345.             {
  346.                case "Win":
  347.                   var i = 0;
  348.                   while(i < a.length)
  349.                   {
  350.                      if(!cbEnabled && a[i].indexOf("_global.") == 0 && a[i].indexOf(" ") == -1)
  351.                      {
  352.                         a[i] = "mdm.__global." + a[i].substring(8);
  353.                      }
  354.                      i++;
  355.                   }
  356.                   a = esc(a);
  357.                   if(l)
  358.                   {
  359.                      fscommand(m,"\"" + a.join("\",\"") + "\"");
  360.                   }
  361.                   else
  362.                   {
  363.                      fscommand(m,"");
  364.                   }
  365.                   break;
  366.                case "Mac":
  367.                   if(l)
  368.                   {
  369.                      var i = 0;
  370.                      while(i < a.length)
  371.                      {
  372.                         a[i] = dlm(a[i],"p");
  373.                         i++;
  374.                      }
  375.                      this.__server.send(dlm(mdm.formid,"i") + a.join("") + "!}}^c^{}!" + m + "");
  376.                   }
  377.                   else
  378.                   {
  379.                      this.__server.send(dlm(mdm.formid,"i") + "!}}^c^{}!" + m + "");
  380.                   }
  381.             }
  382.          }
  383.       };
  384.    };
  385.    mdm.prototype.__objectPath = function()
  386.    {
  387.       var _loc2_ = this;
  388.       var _loc3_ = _loc2_.__object;
  389.       while(_loc2_.__parent !== _loc2_.constructor && _loc2_.__parent !== mdm)
  390.       {
  391.          _loc3_ = _loc2_.__parent.__object + "." + _loc3_;
  392.          _loc2_ = _loc2_.__parent;
  393.       }
  394.       return _loc3_;
  395.    };
  396.    mdm.prototype.__resolve = function(m)
  397.    {
  398.       if(this.__objectPath() == "Forms")
  399.       {
  400.          mdm.__initialise(mdm.initforms(mdm.SYNC),true);
  401.       }
  402.       trace("[Subclass resolver] " + this.__objectPath());
  403.       var o = this.__objectPath();
  404.       return function()
  405.       {
  406.          var _loc3_ = arguments;
  407.          var _loc4_ = _loc3_.length;
  408.          if(this.__isInstance)
  409.          {
  410.             _loc3_.unshift(this.___id);
  411.          }
  412.          return mdm.__resolve(o + "." + m).apply(mdm,_loc3_);
  413.       };
  414.    };
  415.    mdm.__serialize = function(arg)
  416.    {
  417.       var _loc3_ = undefined;
  418.       var _loc2_ = undefined;
  419.       var _loc6_ = undefined;
  420.       var _loc1_ = "";
  421.       var _loc4_ = undefined;
  422.       switch(typeof arg)
  423.       {
  424.          case "object":
  425.             if(arg)
  426.             {
  427.                if(arg instanceof Array)
  428.                {
  429.                   _loc2_ = 0;
  430.                   while(_loc2_ < arg.length)
  431.                   {
  432.                      _loc4_ = mdm.__serialize(arg[_loc2_]);
  433.                      if(_loc1_)
  434.                      {
  435.                         _loc1_ += ",";
  436.                      }
  437.                      _loc1_ += _loc4_;
  438.                      _loc2_ = _loc2_ + 1;
  439.                   }
  440.                   return "[" + _loc1_ + "]";
  441.                }
  442.                if(arg instanceof XML)
  443.                {
  444.                   return "<*>" + arg.toString() + "</*>";
  445.                }
  446.                if(arg instanceof Date)
  447.                {
  448.                   return "#" + arg.getTime() + "#";
  449.                }
  450.                if(typeof arg.toString != "undefined")
  451.                {
  452.                   for(_loc2_ in arg)
  453.                   {
  454.                      _loc4_ = arg[_loc2_];
  455.                      if(typeof _loc4_ != "undefined" && typeof _loc4_ != "function")
  456.                      {
  457.                         _loc4_ = mdm.__serialize(_loc4_);
  458.                         if(_loc1_)
  459.                         {
  460.                            _loc1_ += ",";
  461.                         }
  462.                         _loc1_ += mdm.__serialize(_loc2_) + ":" + _loc4_;
  463.                      }
  464.                   }
  465.                   return "{" + _loc1_ + "}";
  466.                }
  467.             }
  468.             return "null";
  469.          case "number":
  470.             return !isFinite(arg) ? "null" : String(arg);
  471.          case "string":
  472.             _loc6_ = arg.length;
  473.             _loc1_ = "\"";
  474.             _loc2_ = 0;
  475.             while(_loc2_ < _loc6_)
  476.             {
  477.                _loc3_ = arg.charAt(_loc2_);
  478.                if(_loc3_ >= " ")
  479.                {
  480.                   if(_loc3_ == "\\" || _loc3_ == "\"")
  481.                   {
  482.                      _loc1_ += "\\";
  483.                   }
  484.                   _loc1_ += _loc3_;
  485.                }
  486.                else
  487.                {
  488.                   switch(_loc3_)
  489.                   {
  490.                      case "\b":
  491.                         _loc1_ += "\\b";
  492.                         break;
  493.                      case "\f":
  494.                         _loc1_ += "\\f";
  495.                         break;
  496.                      case "\n":
  497.                         _loc1_ += "\\n";
  498.                         break;
  499.                      case "\r":
  500.                         _loc1_ += "\\r";
  501.                         break;
  502.                      case "\t":
  503.                         _loc1_ += "\\t";
  504.                         break;
  505.                      default:
  506.                         _loc3_ = _loc3_.charCodeAt();
  507.                         _loc1_ += "\\u00" + Math.floor(_loc3_ / 16).toString(16) + (_loc3_ % 16).toString(16);
  508.                   }
  509.                }
  510.                _loc2_ += 1;
  511.             }
  512.             return _loc1_ + "\"";
  513.          case "boolean":
  514.             return String(arg);
  515.          default:
  516.             return "null";
  517.       }
  518.    };
  519.    mdm.__deserialize = function(text)
  520.    {
  521.       function error(m)
  522.       {
  523.       }
  524.       function next()
  525.       {
  526.          ch = text.charAt(at);
  527.          at += 1;
  528.          return ch;
  529.       }
  530.       function white()
  531.       {
  532.          while(ch)
  533.          {
  534.             if(ch <= " ")
  535.             {
  536.                this.next();
  537.             }
  538.             else
  539.             {
  540.                if(ch != "/")
  541.                {
  542.                   break;
  543.                }
  544.                switch(this.next())
  545.                {
  546.                   case "/":
  547.                      while(this.next() && ch != "\n" && ch != "\r")
  548.                      {
  549.                      }
  550.                      break;
  551.                   case "*":
  552.                      this.next();
  553.                      while(true)
  554.                      {
  555.                         if(ch)
  556.                         {
  557.                            if(ch == "*")
  558.                            {
  559.                               if(this.next() == "/")
  560.                               {
  561.                                  break;
  562.                               }
  563.                            }
  564.                            else
  565.                            {
  566.                               this.next();
  567.                            }
  568.                         }
  569.                         else
  570.                         {
  571.                            error("Unterminated comment");
  572.                         }
  573.                      }
  574.                      next();
  575.                      break;
  576.                   default:
  577.                      this.error("Syntax error");
  578.                }
  579.             }
  580.          }
  581.       }
  582.       function string()
  583.       {
  584.          var _loc5_ = undefined;
  585.          var _loc2_ = "";
  586.          var _loc4_ = undefined;
  587.          var _loc3_ = undefined;
  588.          var _loc6_ = false;
  589.          if(ch == "\"")
  590.          {
  591.             while(this.next())
  592.             {
  593.                if(at == text.length || ch == "\"")
  594.                {
  595.                   if(ch == "\"")
  596.                   {
  597.                      this.next();
  598.                   }
  599.                   return _loc2_.split("@q@").join("\"");
  600.                }
  601.                if(ch == "\\")
  602.                {
  603.                   switch(this.next())
  604.                   {
  605.                      case "b":
  606.                         _loc2_ += "\b";
  607.                         break;
  608.                      case "f":
  609.                         _loc2_ += "\f";
  610.                         break;
  611.                      case "n":
  612.                         _loc2_ += "\n";
  613.                         break;
  614.                      case "r":
  615.                         _loc2_ += "\r";
  616.                         break;
  617.                      case "t":
  618.                         _loc2_ += "\t";
  619.                         break;
  620.                      case "u":
  621.                         _loc3_ = 0;
  622.                         _loc5_ = 0;
  623.                         while(_loc5_ < 4)
  624.                         {
  625.                            _loc4_ = parseInt(this.next(),16);
  626.                            if(!isFinite(_loc4_))
  627.                            {
  628.                               _loc6_ = true;
  629.                               break;
  630.                            }
  631.                            _loc3_ = _loc3_ * 16 + _loc4_;
  632.                            _loc5_ += 1;
  633.                         }
  634.                         if(_loc6_)
  635.                         {
  636.                            _loc6_ = false;
  637.                            break;
  638.                         }
  639.                         _loc2_ += String.fromCharCode(_loc3_);
  640.                         break;
  641.                      default:
  642.                         _loc2_ += ch;
  643.                   }
  644.                }
  645.                else
  646.                {
  647.                   _loc2_ += ch;
  648.                }
  649.             }
  650.          }
  651.          this.error("Bad string");
  652.       }
  653.       function array()
  654.       {
  655.          var _loc2_ = [];
  656.          if(ch == "[")
  657.          {
  658.             this.next();
  659.             this.white();
  660.             if(ch == "]")
  661.             {
  662.                this.next();
  663.                return _loc2_;
  664.             }
  665.             while(ch)
  666.             {
  667.                _loc2_.push(this.value());
  668.                this.white();
  669.                if(ch == "]")
  670.                {
  671.                   this.next();
  672.                   return _loc2_;
  673.                }
  674.                if(ch != ",")
  675.                {
  676.                   break;
  677.                }
  678.                this.next();
  679.                this.white();
  680.             }
  681.          }
  682.          this.error("Bad array");
  683.       }
  684.       function object()
  685.       {
  686.          var _loc3_ = undefined;
  687.          var _loc2_ = {};
  688.          if(ch == "{")
  689.          {
  690.             this.next();
  691.             this.white();
  692.             if(ch == "}")
  693.             {
  694.                this.next();
  695.                return _loc2_;
  696.             }
  697.             while(ch)
  698.             {
  699.                _loc3_ = this.string();
  700.                this.white();
  701.                if(ch != ":")
  702.                {
  703.                   break;
  704.                }
  705.                this.next();
  706.                _loc2_[_loc3_] = this.value();
  707.                this.white();
  708.                if(ch == "}")
  709.                {
  710.                   this.next();
  711.                   return _loc2_;
  712.                }
  713.                if(ch != ",")
  714.                {
  715.                   break;
  716.                }
  717.                this.next();
  718.                this.white();
  719.             }
  720.          }
  721.          this.error("Bad object");
  722.       }
  723.       function number()
  724.       {
  725.          var _loc2_ = "";
  726.          var _loc3_ = undefined;
  727.          if(ch == "-")
  728.          {
  729.             _loc2_ = "-";
  730.             this.next();
  731.          }
  732.          while(ch >= "0" && ch <= "9")
  733.          {
  734.             _loc2_ += ch;
  735.             this.next();
  736.          }
  737.          if(ch == ".")
  738.          {
  739.             _loc2_ += ".";
  740.             while(this.next() && ch >= "0" && ch <= "9")
  741.             {
  742.                _loc2_ += ch;
  743.             }
  744.          }
  745.          _loc3_ = _loc2_;
  746.          if(!isFinite(_loc3_))
  747.          {
  748.             this.error("Bad number");
  749.          }
  750.          return Number(_loc3_);
  751.       }
  752.       function date()
  753.       {
  754.          var _loc2_ = "";
  755.          if(ch == "#")
  756.          {
  757.             while(this.next())
  758.             {
  759.                if(ch == "#")
  760.                {
  761.                   this.next();
  762.                   return new Date(parseInt(_loc2_));
  763.                }
  764.                _loc2_ += ch;
  765.             }
  766.          }
  767.       }
  768.       function xml()
  769.       {
  770.          var _loc3_ = "";
  771.          if(ch == "<")
  772.          {
  773.             this.next();
  774.             this.next();
  775.             var _loc2_ = text.indexOf("</*>");
  776.             while(this.next())
  777.             {
  778.                if(at == _loc2_ - 1)
  779.                {
  780.                   while(at < _loc2_ + 5)
  781.                   {
  782.                      this.next();
  783.                   }
  784.                   trace(ch);
  785.                   return new XML(_loc3_);
  786.                }
  787.                _loc3_ += ch;
  788.             }
  789.          }
  790.       }
  791.       function word()
  792.       {
  793.          switch(ch)
  794.          {
  795.             case "t":
  796.                if(this.next() == "r" && this.next() == "u" && this.next() == "e")
  797.                {
  798.                   this.next();
  799.                   return true;
  800.                }
  801.                break;
  802.             case "f":
  803.                if(this.next() == "a" && this.next() == "l" && this.next() == "s" && this.next() == "e")
  804.                {
  805.                   this.next();
  806.                   return false;
  807.                }
  808.                break;
  809.             case "n":
  810.                if(this.next() == "u" && this.next() == "l" && this.next() == "l")
  811.                {
  812.                   this.next();
  813.                   return null;
  814.                }
  815.                break;
  816.          }
  817.          this.error("Syntax error");
  818.       }
  819.       function value()
  820.       {
  821.          this.white();
  822.          switch(ch)
  823.          {
  824.             case "{":
  825.                return this.object();
  826.             case "[":
  827.                return this.array();
  828.             case "\"":
  829.                return this.string();
  830.             case "-":
  831.                return this.number();
  832.             case "#":
  833.                return this.date();
  834.             case "<":
  835.                return this.xml();
  836.             default:
  837.                return !(ch >= "0" && ch <= "9") ? this.word() : this.number();
  838.          }
  839.       }
  840.       if(mdm.__OS == "Mac")
  841.       {
  842.          var _loc15_ = SharedObject.getLocal("xppres" + mdm.__cmdcounter,"/");
  843.          _loc15_.clear();
  844.       }
  845.       var at = 0;
  846.       var ch = " ";
  847.       return value();
  848.    };
  849.    mdm.__createProperty = function(getset, propName)
  850.    {
  851.       return function(m)
  852.       {
  853.          trace("getset: " + getset + ", propName: " + propName);
  854.          switch(getset)
  855.          {
  856.             case "ppsv":
  857.                return propName;
  858.             case "getl":
  859.                return this["___" + propName];
  860.             default:
  861.                var _loc0_ = null;
  862.                this["___" + propName] = _loc0_ = this[getset + propName].apply(this,arguments);
  863.                return _loc0_;
  864.          }
  865.       };
  866.    };
  867.    mdm.__createObject = function(parent, name, instance)
  868.    {
  869.       if(!instance)
  870.       {
  871.          parent[name] = new mdm(parent,name);
  872.       }
  873.       else
  874.       {
  875.          var _loc0_ = null;
  876.          var _loc5_ = parent[name] = function()
  877.          {
  878.             super(parent,name);
  879.             this.__isInstance = true;
  880.             parent[name].__instances.push(this);
  881.             var _loc4_ = 0;
  882.             while(_loc4_ < arguments.length)
  883.             {
  884.                this["___" + parent[name].__params[_loc4_]] = arguments[_loc4_];
  885.                _loc4_ = _loc4_ + 1;
  886.             }
  887.             if(this.__object != "Forms")
  888.             {
  889.                arguments.unshift("-1");
  890.                this.___id = parseInt(mdm.__resolve(this.__objectPath() + ".create").apply(mdm,arguments));
  891.                this.isLoaded = this.___id > -1;
  892.             }
  893.             ASSetPropFlags(this,null,1);
  894.          };
  895.          _loc5_.prototype.__proto__ = this.prototype;
  896.          _loc5_.prototype.__constructor__ = this;
  897.          _loc5_.__object = name;
  898.          _loc5_.__objectPath = _loc5_.prototype.__objectPath;
  899.          _loc5_.__parent = parent;
  900.          _loc5_.__isInstance = false;
  901.          _loc5_.__instances = [];
  902.          _loc5_.__resolve = _loc5_.prototype.__resolve;
  903.          _loc5_.dispatchQueue = mdm.dispatchQueue;
  904.          ASSetPropFlags(_loc5_,null,1);
  905.          ASSetPropFlags(_loc5_.prototype,null,1);
  906.          _loc5_.dispatchEvent = mdm.dispatchEvent;
  907.          _loc5_.addEventListener = mdm.addEventListener;
  908.          _loc5_.removeEventListener = mdm.removeEventListener;
  909.       }
  910.       ASSetPropFlags(parent,[name],0);
  911.    };
  912.    mdm.__initialiseObject = function(objDef)
  913.    {
  914.       objDef = objDef.split("<{!!z!!}>");
  915.       var _loc10_ = objDef[0];
  916.       var _loc1_ = objDef[1].split("<{!z!}>");
  917.       var _loc4_ = 0;
  918.       while(_loc4_ < _loc1_.length)
  919.       {
  920.          _loc1_[_loc4_] = _loc1_[_loc4_].split("<{z}>");
  921.          _loc4_ = _loc4_ + 1;
  922.       }
  923.       objNames = _loc10_.split(".");
  924.       _loc4_ = 0;
  925.       var _loc3_ = mdm;
  926.       while(_loc4_ < objNames.length)
  927.       {
  928.          var _loc6_ = objNames[_loc4_].charAt(0) != "@";
  929.          if(!_loc3_.hasOwnProperty([objNames[_loc4_]]))
  930.          {
  931.             if(_loc6_)
  932.             {
  933.                mdm.__createObject(_loc3_,objNames[_loc4_]);
  934.             }
  935.             else
  936.             {
  937.                mdm.__createObject(_loc3_,objNames[_loc4_] = objNames[_loc4_].substring(1),true);
  938.                _loc3_[objNames[_loc4_]].__params = [];
  939.                ASSetPropFlags(_loc3_[objNames[_loc4_]],["__params"],1);
  940.             }
  941.          }
  942.          _loc3_ = _loc3_[objNames[_loc4_]];
  943.          _loc4_ = _loc4_ + 1;
  944.       }
  945.       var _loc2_ = 0;
  946.       var _loc5_ = [_loc1_[_loc2_][0]];
  947.       while(_loc2_ < _loc1_.length)
  948.       {
  949.          if(_loc1_[_loc2_][2].charAt(0) == "@")
  950.          {
  951.             _loc3_.__params.push(_loc1_[_loc2_][0]);
  952.             _loc1_[_loc2_][2] = _loc1_[_loc2_][2].slice(1);
  953.          }
  954.          switch(_loc1_[_loc2_][2])
  955.          {
  956.             case "ppsv":
  957.                if(_loc1_[_loc2_][1] == "integer")
  958.                {
  959.                   _loc5_.push(mdm.__createProperty("ppsv",Number(_loc1_[_loc2_][3])),null);
  960.                }
  961.                if(_loc1_[_loc2_][1] == "boolean")
  962.                {
  963.                   _loc5_.push(mdm.__createProperty("ppsv",Boolean(_loc1_[_loc2_][3])),null);
  964.                }
  965.                if(_loc1_[_loc2_][1] == "string")
  966.                {
  967.                   _loc5_.push(mdm.__createProperty("ppsv",_loc1_[_loc2_][3].split("\\\\").join("\\")),null);
  968.                }
  969.                var _loc7_ = 5;
  970.                var _loc8_ = 0;
  971.                break;
  972.             case "get":
  973.                _loc5_.push(mdm.__createProperty("get",_loc1_[_loc2_][0]),null);
  974.                _loc7_ = 5;
  975.                _loc8_ = 0;
  976.                break;
  977.             case "set":
  978.                _loc5_.push(mdm.__createProperty("getl",_loc1_[_loc2_][0]),mdm.__createProperty("set",_loc1_[_loc2_][0]));
  979.                _loc7_ = 5;
  980.                _loc8_ = 0;
  981.                break;
  982.             case "getset":
  983.                _loc5_.push(mdm.__createProperty("get",_loc1_[_loc2_][0]),mdm.__createProperty("set",_loc1_[_loc2_][0]));
  984.                _loc7_ = 5;
  985.                _loc8_ = 0;
  986.          }
  987.          if(_loc6_)
  988.          {
  989.             _loc3_.addProperty.apply(_loc3_,_loc5_);
  990.          }
  991.          else
  992.          {
  993.             _loc3_.prototype.addProperty.apply(_loc3_.prototype,_loc5_);
  994.          }
  995.          _loc5_ = [_loc1_[_loc2_ = _loc2_ + 1][0]];
  996.       }
  997.    };
  998.    mdm.__initialiseForm = function(formRef)
  999.    {
  1000.       formRef = formRef.split("<{!z!}>");
  1001.       mdm.Forms[formRef[0]] = null;
  1002.       mdm.Forms[formRef[0]] = new mdm.Forms(formRef[0],formRef[1]);
  1003.       if(formRef.length > 2)
  1004.       {
  1005.          mdm.Forms.thisForm = mdm.Forms[formRef[0]];
  1006.       }
  1007.    };
  1008.    mdm.__initialise = function(objDefs, isForm)
  1009.    {
  1010.       objDefs = objDefs.split("<{!z!!}>");
  1011.       var _loc1_ = 0;
  1012.       while(_loc1_ < objDefs.length)
  1013.       {
  1014.          if(!isForm)
  1015.          {
  1016.             mdm.__initialiseObject(objDefs[_loc1_]);
  1017.          }
  1018.          else
  1019.          {
  1020.             mdm.__initialiseForm(objDefs[_loc1_]);
  1021.          }
  1022.          _loc1_ = _loc1_ + 1;
  1023.       }
  1024.    };
  1025.    mdm.__dispatchEvent = function(evtName, objName, instId, params)
  1026.    {
  1027.       var target = eval("mdm." + objName);
  1028.       var evtObj = {type:evtName};
  1029.       if(instId != null)
  1030.       {
  1031.          var i = 0;
  1032.          while(i < target.__instances.length)
  1033.          {
  1034.             if(target.__instances[i].___id == instId)
  1035.             {
  1036.                target = target.__instances[i];
  1037.                break;
  1038.             }
  1039.             i++;
  1040.          }
  1041.       }
  1042.       if(params != null)
  1043.       {
  1044.          params = params.split("<{!z!}>");
  1045.          var i = 0;
  1046.          while(i < params.length)
  1047.          {
  1048.             params[i] = params[i].split("<{z}>");
  1049.             var teststr = params[i][1];
  1050.             if(teststr.charAt(0) == "[")
  1051.             {
  1052.                evtObj[params[i][0]] = mdm.__deserialize(params[i][1]);
  1053.             }
  1054.             else
  1055.             {
  1056.                evtObj[params[i][0]] = params[i][1];
  1057.             }
  1058.             i++;
  1059.          }
  1060.       }
  1061.       target.dispatchEvent(evtObj);
  1062.    };
  1063.    mdm.dispatchQueue = mdm.prototype.dispatchQueue = function(queueObj, eventObj)
  1064.    {
  1065.       var _loc4_ = queueObj["__q_" + eventObj.type];
  1066.       if(_loc4_.constructor == Array)
  1067.       {
  1068.          for(var _loc6_ in _loc4_)
  1069.          {
  1070.             var _loc1_ = _loc4_[_loc6_];
  1071.             var _loc3_ = typeof _loc1_;
  1072.             if(_loc3_ == "object" || _loc3_ == "movieclip")
  1073.             {
  1074.                if(_loc1_.handleEvent != undefined)
  1075.                {
  1076.                }
  1077.                if(_loc1_[eventObj.type] != undefined)
  1078.                {
  1079.                   _loc1_[eventObj.type](eventObj);
  1080.                }
  1081.             }
  1082.             else
  1083.             {
  1084.                _loc1_.apply(queueObj,[eventObj]);
  1085.             }
  1086.          }
  1087.       }
  1088.    };
  1089.    mdm.dispatchEvent = mdm.prototype.dispatchEvent = function(eventObj)
  1090.    {
  1091.       if(eventObj.target == undefined)
  1092.       {
  1093.          eventObj.target = this;
  1094.       }
  1095.       if(this.hasOwnProperty(eventObj.type + "Handler"))
  1096.       {
  1097.          this[eventObj.type + "Handler"](eventObj);
  1098.       }
  1099.       var _loc3_ = "on" + eventObj.type.slice(0,1).toUpperCase() + eventObj.type.slice(1);
  1100.       if(this.hasOwnProperty(_loc3_))
  1101.       {
  1102.          this[_loc3_](eventObj);
  1103.       }
  1104.       this.dispatchQueue(this,eventObj);
  1105.    };
  1106.    mdm.addEventListener = mdm.prototype.addEventListener = function(event, handler)
  1107.    {
  1108.       var _loc2_ = "__q_" + event;
  1109.       if(this[_loc2_].constructor != Array)
  1110.       {
  1111.          this[_loc2_] = new Array();
  1112.       }
  1113.       ASSetPropFlags(this,_loc2_,1);
  1114.       this.removeEventListener(event,handler);
  1115.       this[_loc2_].push(handler);
  1116.    };
  1117.    mdm.removeEventListener = mdm.prototype.removeEventListener = function(event, handler)
  1118.    {
  1119.       var _loc4_ = this["__q_" + event];
  1120.       if(this[queueName].constructor != Array)
  1121.       {
  1122.          var _loc5_ = _loc4_.length;
  1123.          var _loc2_ = 0;
  1124.          while(_loc2_ < _loc5_)
  1125.          {
  1126.             var _loc3_ = _loc4_[_loc2_];
  1127.             if(_loc3_ == handler)
  1128.             {
  1129.                _loc4_.splice(_loc2_,1);
  1130.                return undefined;
  1131.             }
  1132.             _loc2_ = _loc2_ + 1;
  1133.          }
  1134.       }
  1135.    };
  1136.    ASSetPropFlags(mdm.prototype,null,1);
  1137.    ASSetPropFlags(mdm,null,1);
  1138.    mdm.__initcmd();
  1139.    mdm.__init = function()
  1140.    {
  1141.       clearInterval(mdm.__pause);
  1142.       delete mdm.__pause;
  1143.       delete mdm.__init;
  1144.       eiReturn = String(flash.external.ExternalInterface.call("mdm.hasEI","null"));
  1145.       if(eiReturn == "undefined" || eiReturn == "null")
  1146.       {
  1147.          mdm.__hasEI = false;
  1148.       }
  1149.       else
  1150.       {
  1151.          mdm.__hasEI = true;
  1152.          if(mdm.__OS == "Mac")
  1153.          {
  1154.             mdm.__OS = "Win";
  1155.          }
  1156.       }
  1157.       mdm.__initialise(mdm.initialise(mdm.SYNC));
  1158.       mdm.__initialise(mdm.initforms(mdm.SYNC),true);
  1159.       if(mdm.__OS == "Win")
  1160.       {
  1161.          mdminit();
  1162.       }
  1163.       mdm.__tempPath = mdm.__OS != "Win" ? "" : "file://" + unescape(_level0._url.substring(7).split("/").join("\\"));
  1164.    };
  1165.    mdm.__finalInit = function()
  1166.    {
  1167.       mdm.__init();
  1168.       var _loc2_ = mdm.Application.path;
  1169.       if(_loc2_ != undefined)
  1170.       {
  1171.          if(mdm.__hasEI)
  1172.          {
  1173.             var _loc1_ = "";
  1174.             _loc1_ += mdm.Application.tempPath;
  1175.             _loc1_ = _loc1_ + (parseInt(mdm.formid,10) + 1) + ".dat";
  1176.             loadMovieNum(_loc1_,0);
  1177.          }
  1178.       }
  1179.    };
  1180.    onEnterFrame = function()
  1181.    {
  1182.       if(System.capabilities.os.substring(0,3) == "Win")
  1183.       {
  1184.          mdm.__init();
  1185.          if(mdm.__OS != "Win")
  1186.          {
  1187.             var _loc2_ = mdm.Application.path;
  1188.             if(_loc2_ != undefined)
  1189.             {
  1190.                delete onEnterFrame;
  1191.                if(mdm.__hasEI)
  1192.                {
  1193.                   var _loc1_ = mdm.Application.resourcePath;
  1194.                   _loc1_ += parseInt(mdm.formid,10) + 1 + ".dat";
  1195.                   loadMovieNum(_loc1_,0);
  1196.                }
  1197.                else
  1198.                {
  1199.                   loadMovieNum(mdm.__tempPath.substring(0,mdm.__tempPath.lastIndexOf("\\") + 1) + "~swd" + (parseInt(mdm.formid,10) + 1) + (mdm.__OS != "Win" ? ".jpg" : ".dat"),0);
  1200.                }
  1201.             }
  1202.          }
  1203.          if(mdm.__OS == "Win")
  1204.          {
  1205.             delete onEnterFrame;
  1206.             loadMovieNum(mdm.__tempPath.substring(0,mdm.__tempPath.lastIndexOf("\\") + 1) + "~swd" + (parseInt(mdm.formid,10) + 1) + (mdm.__OS != "Win" ? ".jpg" : ".dat"),0);
  1207.          }
  1208.       }
  1209.       delete onEnterFrame;
  1210.    };
  1211. }
  1212.